package com.cskaoyan.javase.oop1._16oop;

/**
 * 把大象放进冰箱里
 * 用面向对象的思想去完成
 *
 * 对象: 大象 冰箱
 * 类: 大象类 冰箱类
 *
 * 面向对象和面向过程不是严格分割开,应该说
 * 面向对象是在面向过程不能够满足开发需求,而在面向过程的基础上发展而来的
 *
 *
 * @since 14:44
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        Elephant e = new Elephant();
        Fridge f = new Fridge();
        e.elephantF = f;
        // 下面开始实现程序功能
        e.into();
        f.open();
        e.into();
        f.close();
    }
}

// 大象类
class Elephant {
    // 方便对象交互
    Fridge elephantF;

    // 行为
    public void into() {
        if (elephantF.doorState) {
            System.out.println("冰箱的门已经打开了,我进去了!快把门关上!");
        } else {
            System.out.println("冰箱冰箱快开门,我要进去了!");
        }
    }
}

// 冰箱类
class Fridge {
    // 属性
    // 门开关的状态,false = 关闭,true表示开着
    boolean doorState = false;

    // 行为
    public void open() {
        doorState = true;
        System.out.println("门开了,🐘可以进来!");
    }

    public void close() {
        doorState = false;
        System.out.println("🐘已经进来了,我把门关上了!");
    }


}